﻿Imports OMANE.Common.UI
Imports System.ComponentModel
Imports System.Collections.ObjectModel

<OMANE.Common.ServiceInfo()> _
<Serializable()> _
Public NotInheritable Class ModuleInstallationInfo
    Implements INotifyPropertyChanged, INotifyPropertyChanging

    Private _ID As Guid
    Public Property ID As Guid
        Get
            Return _ID
        End Get
        Set(ByVal value As Guid)
            OnPropertyChanging("ID")
            _ID = value
            OnPropertyChanged("ID")
        End Set
    End Property

    Private _MainLibrary As String
    Public Property MainLibrary As String
        Get
            Return _MainLibrary
        End Get
        Set(ByVal value As String)
            OnPropertyChanging("MainLibrary")
            _MainLibrary = value
            OnPropertyChanged("MainLibrary")
        End Set
    End Property

    Private _LoadPriority As Integer
    Public Property LoadPriority As Integer
        Get
            Return _LoadPriority
        End Get
        Set(ByVal value As Integer)
            OnPropertyChanging("LoadPriority")
            _LoadPriority = value
            OnPropertyChanged("LoadPriority")
        End Set
    End Property

    Private _Satellites As String()
    Public Property Satellites As String()
        Get
            Return _Satellites
        End Get
        Set(ByVal value As String())
            OnPropertyChanging("Satellites")
            _Satellites = value
            OnPropertyChanged("Satellites")
        End Set
    End Property



    Private Sub OnPropertyChanged(ByVal propName As String)

    End Sub
    Private Sub OnPropertyChanging(ByVal propName As String)

    End Sub
    Public Event PropertyChanged(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
    Public Event PropertyChanging(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangingEventArgs) Implements System.ComponentModel.INotifyPropertyChanging.PropertyChanging
End Class

<Serializable()> _
Public Class ModuleInstallationInfoCollection
    Inherits ObservableCollection(Of ModuleInstallationInfo)


End Class